package com.ruoyi.shortplay.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.shortplay.domain.MyChannelVideo;
import com.ruoyi.shortplay.domain.SupportedLanguagesIO;

/**
 * 我频道下的视频Service接口
 * 
 * @author ruoyi
 * @date 2025-11-18
 */
public interface IMyChannelVideoService 
{
    /**
     * 查询我频道下的视频
     * 
     * @param id 我频道下的视频主键
     * @return 我频道下的视频
     */
    public MyChannelVideo selectMyChannelVideoById(Long id);

    /**
     * 查询我频道下的视频列表
     * 
     * @param myChannelVideo 我频道下的视频
     * @return 我频道下的视频集合
     */
    public List<MyChannelVideo> selectMyChannelVideoList(MyChannelVideo myChannelVideo);

    /**
     * 新增我频道下的视频
     * 
     * @param myChannelVideo 我频道下的视频
     * @return 结果
     */
    public int insertMyChannelVideo(MyChannelVideo myChannelVideo);

    /**
     * 修改我频道下的视频
     * 
     * @param myChannelVideo 我频道下的视频
     * @return 结果
     */
    public AjaxResult updateMyChannelVideo(MyChannelVideo myChannelVideo);

    /**
     * 批量删除我频道下的视频
     * 
     * @param ids 需要删除的我频道下的视频主键集合
     * @return 结果
     */
    public int deleteMyChannelVideoByIds(Long[] ids);

    /**
     * 删除我频道下的视频信息
     * 
     * @param id 我频道下的视频主键
     * @return 结果
     */
    public int deleteMyChannelVideoById(Long id);

    /**
     * @description: 数据更新
     * @author: WYJ
     * @date: 2025/11/25
     * @param:
     */
    AjaxResult updateByYoutobeData(MyChannelVideo myChannelVideo);

    /**
     * @description: 添加多语言标题
     * @author: WYJ
     * @date: 2025/11/29
     * @param:
     */
    AjaxResult addSupportedLanguages(SupportedLanguagesIO params);

    /**
     * @description:
     * @author: WYJ
     * @date: 2025/11/30
     * @param:
     */
    AjaxResult titleTranslation(SupportedLanguagesIO params);

    /**
     * @description: 翻译测试
     * @author: WYJ
     * @date: 2025/11/30
     * @param:
     */
    AjaxResult titleTranslationTwo(SupportedLanguagesIO params);
}
